// pages/mine/mine.ts
const api = require("../../utils/api");
const util = require("../../utils/common");

Page({

  /**
   * 页面的初始数据
   */
  data: {
    userName: '游客',
    userId: '',
    roles: '',
    introductionText: '点击这里授权登录',
    mineData: [
      {
        id: 'personalInfo',
        icon: '../../images/edit.svg',
        text: '修改密码'
      },
      {
        id: 'comment',
        icon: '../../images/news.svg',
        text: '我的评论'
      },
      // {
      //   id: 'applyCreate',
      //   icon: '../../images/collection_icon.svg',
      //   text: '申请成为创作者'
      // },
      {
        id: 'create',
        icon: '../../images/create.svg',
        text: '立即创作'
      },
      {
        id: 'loginout',
        icon: '../../images/loginout.svg',
        text: '退出登录',
        isLast: true
      }
    ]
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {   
    
  },
  getInfo () {
    api.getUserInfo().then(res => {
      if (res?.id) {
        this.setData({
          introductionText: '创作者',
          userName: res.name,
          userId: res.id
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log('页面显示');
    const user = wx.getStorageSync('user'); 
    if (user) {
      this.getInfo();
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  // 跳转登录页
  getProfile () {
    // 未登录
    if (!this.data.userId) {
      wx.navigateTo({
        url: '/pages/login/login'
      })
    }
  },
  // 点击标签
  bindTag (e) {  
    // 未登录
    if (!this.data.userId) {
      util.showToast('您目前没有登录，请先去登录。');
      return ;
    } 

    // 获取当前操作的值
    const value = e.currentTarget.id;

    // 定义路由映射表
    const routes = {
      create: `/pages/create/create?userId=${this.data.userId}`,
      personalInfo: `/pages/personal/personal`,
      comment: `/pages/myComment/myComment?userId=${this.data.userId}`
    };
    
    // 处理页面跳转
    if (routes[value]) {
      wx.navigateTo({
        url: routes[value]
      });
    }

    // 退出登录
    if (value == 'loginout') {
      const that = this;
      wx.showModal({
        title: '您确定要退出登录吗？',
        success (res) {
          if (res.confirm) {
            api.loginout();
            that.setData({
              introductionText: '点击这里授权登录',
              userName: '游客',
              userId: ''
            })
          }
        }
      }) 
    }
  }
})